package cn.com.qtgl.sso.oidc.comp.anno;

import cn.com.qtgl.sso.oidc.model.enums.AuthenticationAction;
import cn.melonlib.cores.aop.enums.AccessTokenType;

import java.lang.annotation.*;

/**
 * 认证配置
 */
@Documented
@Target({})
@Retention(RetentionPolicy.RUNTIME)
public @interface Authentication {

    /**
     * 访问空间，如果没有查找到或者没有配置则默认使用default命名空间
     * @return
     */
    String namespace() default "default";


    /**
     * 验证方式，默认为SSO登陆用户认证
     * @return
     */
    AuthenticationAction[] auth() default  {AuthenticationAction.USER};

    /**
     * 是否进行授权认证，如果选择是，则进一步根据具体的接口配置来进行认证
     * @return
     */
    boolean authorization() default false;


    /**
     * 是否包含租户信息，选择是则通过具体实现获取租户信息
     * @return
     */
    boolean tenant() default false;

}
